﻿
@{
    ViewBag.Title = "UnionVisit";

    Layout = null;

}

<h2>
    <p>一：</p>
    <p>看到这个界面说明你的参数已经构建成功,本页面访问参数应有：</p>
    <p>Target：@ViewBag.Target（操作意义：目的，签到传固定值normalsign）</p>
    <p>StoreId:@ViewBag.StoreId（操作意义：签到相关场馆ID）</p>
    <p>Uid:@ViewBag.Uid（操作意义：用户信息，针对普惠平台这里传token值）</p>
    <p>UnionId:@ViewBag.UnionId（操作意义：联合身份用户标志 --享动提供）</p>
    <p>sign：参数验签字符串，享动提供的所有接口 sign计算方式相同，具体计算方法如下：</p>
</h2>

<hr />


<h2>二：扫码跳转原理</h2>
   <p></p>
   目的，构建参数访问：http://open.xdjsclub.com/home/UnionVisit?target=normalsign&storeid={storeid}&uid={uid}&unionid={unionid}&sign={sign}
   其中：
<p>target 传固定值</p>
<p>storeid 根据扫码得到的url参数中获取（方法见第3部分说明）</p>
<p>uid  签到用户信息，相对于普惠来说就是传token</p>
<p>unionid 由享动提供，对于调用者来说也是固定值</p>
<p>sign，根据如上参数计算得到，大致思路：参数值对按参数名排序，再转小写，再拼接密钥，然后一起MD5 具体实现方法见第3部分说明</p>


<h1><h2> @ViewBag.Info </h2></h1>
<hr />
   <p>三 举例：</p>
<p>参数取值举例：</p>

<p>1、扫码得到图片二维码对应的url地址 ，如得到：http://fuwu.youxi999.cn/Index.aspx?target=normalsign&storeid=269</p>
<p>
   2、在如上url中可得到签到相关场馆ID 即，StoreId=@ViewBag.StoreId,其他参数
   <p>target 传固定值 normalsign</p>
<p>storeid 根据扫码得到的url参数中获取Storeid获取，即269</p>
<p>uid  签到用户信息，相对于普惠来说就是传token</p>
<p>unionid 由享动提供，对于调用者来说也是固定值，这里传的是 @ViewBag.UnionId</p>

    

<p>3、获取将如上拼接后的url参数部分，将参数和参数值放入列表中 List<KeyValuePair<string,string>>（就是目的就是为了按参数名排序） </p>
<p>4、如上集合按参数名默认排序，然后拼接字符，得到：StoreId==@ViewBag.StoreId&Target=@ViewBag.Target&Uid=@ViewBag.Uid&UnionId=@ViewBag.UnionId</p>
<p>5、 如上字符串转小写 +自己的密钥（享动提供，开发联调值为：123456AbcD）；拼接在如上字符后 得到：@ViewBag.Before</p>
<p> MD5 得到最终的签名参数 sign:@ViewBag.Sign</p>
<p>7、如上得到url参数部分，最后签名加上服务地址最终得到url：<label style="color:#ff0000"> http://open.xdjsclub.com/home/UnionVisit?</label>target=normalsign&storeid=269&uid=23&unionid=cdzg&sign=904e5ebb42171cf9742169b52465affa</p>


